Memory Hierarchy Based Performance Review of Sorting Algorithms

نویسندگان

  • D. Abhyankar
  • M. Ingle
چکیده

Sorting is known to be one of the fundamental computing problems which continue to attract a great deal of research. It is evident that instruction count requirements of the key sorting algorithms are well understood. However, the cost of executing a sorting algorithm is influenced by factors apart from instruction count such as cache miss and page faults as well. There exist studies of sorting algorithms from memory hierarchy perspective, but these studies are stale and losing relevance in the context of modern computer architecture. We have experimented with Quicksort, Merge sort, and Heapsort to assess their respective performances in memory hierarchy of modern computing environments. Inferences derived from the outcome of the experiments have been presented in this paper. Empirical evidence confirms that Quicksort is still an excellent algorithm from memory hierarchy point of view. Also, it has been inferred that Merge sort is poor on large records because its page fault count is too high. Heapsort was found competitive enough to be considered as an algorithm of choice on large records in the view of its lower page fault count. I. Introduction Sorting is known to be one of the fundamental computing problems which continue to attract a great deal of research [1-6]. Though instruction count requirements of the key sorting algorithms are well understood, however, in virtual memory systems, the cost of running an algorithm depends on other performance factors as well. Literature suggests that sorting algorithms execute slow if these sorting algorithms cost too many cache miss or page faults. The total running time is comprised of the time needed to handle paging traffic, cache miss penalty and actual processor time. It is noticed that when the number of records to be sorted, N, is small, paging traffic is low, and the execution time of the sorting algorithm is essentially governed by processor time. Also, if number of records is small, only a couple of pages will be used and hence choice of sorting algorithm will not have any impact on page fault count. As N grows larger, the paging traffic increases, and when a very large number of records are sorted, the paging time can be far more important than the processor time. Also, if N is large, the memory requirements of different sorting algorithms may vary considerably. Thus, the efficiency of a sorting algorithm depends both on the inherent time complexity of the algorithm …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Improving Memory Performance

Memory hierarchy considerations during sorting algorithm design and implementation play an important role in signiicantly improving execution performance. Existing algorithms mainly attempt to reduce capacity misses on direct-mapped caches. In order to further exploit cache locality to reduce other types of cache misses, we present several restructured mergesort and quicksort algorithms and the...

متن کامل

An Efficient Multiway Mergesort for GPU Architectures

Sorting is a primitive operation that is a building block for countless algorithms. As such, it is important to design sorting algorithms that approach peak performance on a range of hardware architectures. Graphics Processing Units (GPUs) are particularly attractive architectures as they provides massive parallelism and computing power. However, the intricacies of their compute and memory hier...

متن کامل

Efficient data management for incoherent ray tracing

To obtain good performance on the GPU hardware, it is necessary to design algorithms to manage data, access memory under GPU memory hierarchy, and schedule more efficient threads. In this paper, we propose an efficient data management and task management designed for GPU based ray tracing. Due to the dynamic and uncertainty in ray tracing, we design data-management layer and task-management lay...

متن کامل

Parallel String Sample Sort

We discuss how string sorting algorithms can be parallelized on modern multi-core shared memory machines. As a synthesis of the best sequential string sorting algorithms and successful parallel sorting algorithms for atomic objects, we propose string sample sort. The algorithm makes effective use of the memory hierarchy, uses additional word level parallelism, and largely avoids branch mispredi...

متن کامل

Large-Scale Sorting in Uniform Memory Hierarchies

We present several e cient algorithms for sorting on the uniform memory hierarchy (UMH), introduced by Alpern, Carter, and Feig, and its parallelization P-UMH. We give optimal and nearly-optimal algorithms for a wide range of bandwidth degradations, including a parsimonious algorithm for constant bandwidth. We also develop optimal sorting algorithms for all bandwidths for other versions of UMH ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012